/**
 * 四舍五入保留num位小数
 * @param v
 * @param num 保留位数
 * @param isZeroFill 默认补0；false-不补
 * @returns {*}
 */
 export function toDecimal(v,num,isZeroFill) {
    var f = parseFloat(v)
    if (isNaN(f)) {
        return 0.00
    }
    f = Math.round(v*(Math.pow(10,num)))/Math.pow(10,num)
    var s = f.toString()
    if(isZeroFill !== false){
        var rs = s.indexOf('.')
        if (num>0 && rs < 0) {
            rs = s.length
            s += '.'
        }
        while (s.length <= rs + num) {
            s += '0'
        }
    }
    return s
}

/**
 * 修改时间格式
 * @param {*} data
 * @param {*} type
 * @returns
 */
export function dataFormatType(data, type) {
    if (data ===null) {
      return ''
    }
    let dt = new Date(data)
    if(type == 2) {
        return dt.getFullYear() +
        ((dt.getMonth() + 1) >= 10 ? (dt.getMonth() + 1) : '0' + (dt.getMonth() + 1)) +
        (dt.getDate() >= 10 ?  dt.getDate() : '0' + dt.getDate())
    } else {
      return dt.getFullYear() + '-' +
        ((dt.getMonth() + 1) >= 10 ? (dt.getMonth() + 1) : '0' + (dt.getMonth() + 1)) + '-' +
        (dt.getDate() >= 10 ?  dt.getDate() : '0' + dt.getDate())
    }
}

/**
 * 获得前后N年在昨天这一天的日期
 * @param {*} date
 * @param {*} num
 * @returns
 */
export function getLastYearYestdy(date, num){
    date = new Date(date)
    var strYear = date.getFullYear() - num
    var strDay = date.getDate()
    var strMonth = date.getMonth()+1
    if (strMonth<10) {
        strMonth="0"+strMonth
    }
    if (strDay<10) {
        strDay="0"+strDay
    }
    var datastr = strYear+"-"+strMonth+"-"+strDay
    return datastr
}

/**
 * 获取地址栏参数
 * @param {*} name
 * @returns
 */
export function getUrlKey (name) {
    return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null;
}

/**
 *  清除千分位格式
 * @param {*} num
 * @returns
 */
export function delThousandsFormat(num){
    if(!num) return num;
    num = num.toString();
    num = num.replace(/,/gi, '');
    return num;
}

/**
 * 添加千分位格式
 * @param {*} num
 * @returns
 */
export function thousandsFormat (num) {
    return (num+ '').replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,'$1,');
}
/**
 *  格式化成年月日 时分秒
 * @param {*} data
 * @returns
 */
export function dateStandardFormat(data) {
    if (data === null) {
      return ''
    }
    let dt = new Date(data)
    return (
      dt.getFullYear()
       + '-' +
      ((dt.getMonth() + 1) >= 10 ? (dt.getMonth() + 1) : '0' + (dt.getMonth() + 1))
       + '-' +
      (dt.getDate() >= 10 ?  dt.getDate() : '0' + dt.getDate())
       + ' ' +
      (dt.getHours() >= 10 ?  dt.getHours() : '0' + dt.getHours())
      + ':' +
      (dt.getMinutes() >= 10 ?  dt.getMinutes() : '0' + dt.getMinutes())
      + ':' +
      (dt.getSeconds() >= 10 ?  dt.getSeconds() : '0' + dt.getSeconds())
    )
}
/**
 * 小数相加
 * @param {*} num1
 * @param {*} num2
 * @returns
 */
 export function accAdd (num1, num2) {
    var sq1,sq2,m;
    try {
      sq1 = num1.toString().split(".")[1].length;
    }
    catch (e) {
      sq1 = 0;
    }
    try {
      sq2 = num2.toString().split(".")[1].length;
    }
    catch (e) {
      sq2 = 0;
    }
    m = Math.pow(10,Math.max(sq1, sq2));
    return (num1 * m + num2 * m) / m;
}

/**
 * 格式化json
 * @param {*} json
 * @returns
 */
export function getJsonStr (json) {
  return JSON.stringify(json, null, 2)
}
